Recent technological advances have led to the increased prevalence of many small electronic devices, such as mobile phones, that include handwriting symbol entry functionality. However, these small devices typically have input devices with small symbol input areas. Often these input devices only have enough space for a user to write a single symbol. On these input devices, symbols cannot be written in the natural order (e.g., side-by-side and left-to-right) that is natural to many languages. These input devices require that symbols be written on top of each other.
Due to symbols being written on top of each other, the segmentation of symbols entered using small input devices adds additional complexity to the symbol input systems described above. Current solutions do exist for handwriting recognition on small input devices. However, in order to address the complex symbol segmentation problem, these current solutions provide users with unnatural symbol entry or have reduced accuracy.
For example, some small input devices require users to learn special alphabets, such as a unistroke alphabet. A unistroke alphabet is designed such that each symbol is a single stroke. Thus, while symbol segmentation is easily addressed, a user is forced to learn an unnatural and distorted alphabet. Other small input devices use a timeout mechanism or other external segmenting signal to address the symbol segmentation problem. A user is required to pause after the entry of a symbol. Once the timeout occurs, the symbol recognition is performed. This technique is also unnatural as it requires a user to wait for a timeout after each symbol is entered. Furthermore, it is error-prone, as a user may not enter strokes fast enough, causing a timeout to occur before the user is finished with entering the symbol, resulting in an incorrectly identified symbol. Furthermore, the use of external segmenting signals, e.g., pressing a button to indicate the end of a symbol, is also error prone and awkward.
Many devices capable of handwriting recognition use a segmentation preprocessor to segment a word into tentative symbols that are then passed to a handwriting recognition engine capable of recognizing symbols from a particular alphabet. This process introduces segmentation error in addition to symbol recognition error. Further, many of these devices have small handwriting input device that can make it difficult to perform accurate segmentation where symbols can be written on top of each other. This process can result with unacceptable levels of error.